In a computing system, a host device frequently accesses system memory. The system memory may be local random access memory (RAM) or read-only memory (ROM), or may include the address space of a peripheral device. The term memory-mapped Input/Output (MMIO) may be used to describe an address space in a peripheral device that is mapped into the system memory along with RAM and ROM.
Write transactions from a host device may be as small as one byte. System memory implemented using RAM or ROM may be addressable at the level of one byte, and so can efficiently accept and process one-byte write transactions. Peripheral devices used for memory-mapped I/O, however, may have a minimum write size of multiples of bytes, or possibly kilobytes. This is because these peripheral devices may be more efficient when write transactions are at least this minimum size. Computing systems thus often have an adapter device that manages write transactions from the host device that are directed to memory-mapped I/O.